package com.supergdtop.www.run.tools;

import android.content.Context;
import android.widget.EditText;

/**
 * Created by Administrator on 2016/8/12.
 */
public class EditTextTools {
    private Context context;
    private EditText editText;
    private String editTextStr;

    public EditTextTools(Context context, EditText editText) {
        this.context = context;
        this.editText = editText;
        editTextStr = editText.getText().toString().trim();
    }

    //限定长度
    public EditTextTools textLength(int length) {
        if (editTextStr.length() > length) {
            editTextStr = editTextStr.substring(0, editTextStr.length() - 1);
            editText.setText(editTextStr);
            editText.setSelection(editTextStr.length());
            ToastTools.show(context, "长度不能超过" + length);
        }
        return this;
    }

    //只能输入一个小数点
    public EditTextTools oneDecimalPoint() {
        if (editTextStr.indexOf(".") > 0 && editTextStr.indexOf(".", editTextStr.indexOf(".") + 1) > 0) {
            editTextStr = editTextStr.substring(0, editTextStr.length() - 1);
            editText.setText(editTextStr);
            editText.setSelection(editTextStr.length());
            ToastTools.show(context, "只能输入一个小数点");
        }
        return this;
    }

    //限定小数点后面输入位数
    public EditTextTools decimalLength(int length) {
        if (editTextStr.indexOf(".") != -1 && (editTextStr.length() - editTextStr.indexOf(".") >= (length + 2))) {
            editTextStr = editTextStr.substring(0, editTextStr.length() - 1);
            editText.setText(editTextStr);
            editText.setSelection(editTextStr.length());
            ToastTools.show(context, "小数点后面只能输入" + length + "位");
        }
        return this;
    }

    //第一个是.时变成0.
    public EditTextTools decimalPointOnOne() {
        if (editTextStr.indexOf(".") == 0) {
            editText.setText("0.");
            editText.setSelection(2);
        }
        return this;
    }

    //第一个是0时第二个不是.删除第一个
    public EditTextTools zeroOnOne() {
        if (editTextStr.length() == 2 && editTextStr.indexOf("0") == 0 && !(editTextStr.indexOf(".") == 1)) {
            editTextStr = editTextStr.substring(1, editTextStr.length());
            editText.setText(editTextStr);
            editText.setSelection(editTextStr.length());
        }
        return this;
    }
}
